package com.swpu;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

// 通过在 com.swpu 包/目录 上右键 New -> Java Class 类 / 文件
public class WeiYuMap {

    // 主函数 - 通过 psvm 快捷写入的方式来生成主函数，因为所有的可执行代码都需要在主函数中才能执行
    public static void main(String[] args) {

        // list  苹果、香蕉、鱼
        // map 强化版的 List 强化版的单据清单   苹果 18$、香蕉 48$、鱼 12$
        // 准备一张空白的纸张
        Map<String, String> map = new HashMap<>();
//        List<String> list = new ArrayList<>();

        // 1. 存数据
        map.put("苹果", "16$");
        map.put("香蕉", "20$");
        map.put("鱼", "8$");
        map.put("西兰花", "47$");

//        list.add("苹果");
//        list.add("香蕉");
//        list.add("鱼");
//        list.add("西兰花");

        // 2. 取数据
        System.out.println(map);
//        System.out.println(list);

        System.out.println(map.get("香蕉"));

        // 键值对 {苹果=16$, 香蕉=20$, 鱼=8$, 西兰花=47$}
        // map.get("等号左边的东西") = 等号右边的东西  map.get("身份证") = 身份证对应的人  这种标识 在计算机里 叫 键值对
        // 身份证 = 你这个人
        // 标签  =  具体的物
        // label = xx
        // key = value

        for (Map.Entry<String, String> keys : map.entrySet()) {
            System.out.println(keys.getKey() + " = " + keys.getValue());
        }

        // 1 + 1 = 2   1 + 1 为什么等于 2  先有广度(Java 基础语法、Spring、Kafka、Linux) 再有深度
        map.forEach((key, value) -> {
            System.out.println(key + " = " + value);
        });


        // 十年开发经验   他一年工作经验反复用了十年

        // Java 一切皆对象  int、double、float、String  ->  Object
        Map map1 = new HashMap();
        Map<String, String> map2 = new HashMap<>();


        var name = "WEI_YU";
        var age = 24;

        Object name1 = "WEI_YU";
        Object age1 = 24;

        map1.put("姓名", "WEIYU");
        map1.put("年龄", 24);
        map1.put("价格", 16.2);

        map2.put("姓名", "WEIYU");
        map2.put("年龄", 24 + "");
    }
}
